//
//  XS_BaseModel.swift
//  Pods
//
//  Created by 韩云智 on 2020/7/15.
//

import UIKit
import HandyJSON

open class XS_BaseModel: HandyJSON {
    //    var date: Date?
    //    var decimal: NSDecimalNumber?
    //    var url: URL?
    //    var data: Data?
    //    var color: UIColor?
    
    required public init() {}
    
    open func mapping(mapper: HelpingMapper) {   //自定义解析规则，日期数字颜色，如果要指定解析格式，子类实现重写此方法即可
        //        mapper <<<
        //            date <-- CustomDateFormatTransform(formatString: "yyyy-MM-dd")
        //
        //        mapper <<<
        //            decimal <-- NSDecimalNumberTransform()
        //
        //        mapper <<<
        //            url <-- URLTransform(shouldEncodeURLString: false)
        //
        //        mapper <<<
        //            data <-- DataTransform()
        //
        //        mapper <<<
        //            color <-- HexColorTransform()
    }
    
    func toModel<T: XS_BaseModel>(_ type: T.Type) -> T {
        return JsonUtil.dictionaryToModel(toJSON() ?? [:], type)
    }
}
